<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>3.5. 控制剧本流程</title>
<link rel="stylesheet" href="css/style.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.71.1">
<link rel="start" href="index.html" title="KCDDP KAGeXpress 3.0 使用手册">
<link rel="up" href="ch03.html" title="第 3 章 KAGeXpress使用入门">
<link rel="prev" href="ch03-4.html" title="3.4. 播放音效、音乐">
<link rel="next" href="ch03-6.html" title="3.6. 调试与发布">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<div class="navheader">
<table width="100%" summary="Navigation header">
<tr><th colspan="3" align="center">3.5. 控制剧本流程</th></tr>
<tr>
<td width="20%" align="left">
<a accesskey="p" href="ch03-4.html">上一页</a> </td>
<th width="60%" align="center">第 3 章 KAGeXpress使用入门</th>
<td width="20%" align="right"> <a accesskey="n" href="ch03-6.html">下一页</a>
</td>
</tr>
</table>
<hr>
</div>
<div class="sect1" lang="zh-CN">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="ch03-5"></a>3.5. 控制剧本流程</h2></div></div></div>
<p>KAG的工程中，可以支持多个ks文件，一个ks文件中也可以包含多个段落标签。</p>
<p>跳转到别的标签或者文件，可以使用jump指令。</p>
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note: jump指令的属性">
<tr>
<td rowspan="2" align="center" valign="top" width="25"><img alt="[注意]" src="images/note.png"></td>
<th align="left">jump指令的属性</th>
</tr>
<tr><td align="left" valign="top">
<p>storage：跳转目标标签所在的ks文件</p>
<p>target：跳转目标的标签</p>
<p>两者中至少需要指定一个。</p>
</td></tr>
</table></div>
<p>storage未指定时，系统将从当前正在执行的ks文件中寻找指定的标签。</p>
<p>target未指定时，系统将从storage指定的ks文件头部开始执行。</p>
<p>制作游戏中选项的时候，可以使用link指令。</p>
<p>对于剧情跳转的功能来说，这个命令也和jump一样，拥有storage和target这两个属性。</p>
<p>link指令与endlink指令之间的剧本文本将被作为链接内容，一旦被link包含的文本被点击，则通过storage和target指定的跳转将被执行。</p>
<p>在使用link命令描绘出选项后，请使用s指令，让系统停止执行剧本，等待选择，否则剧本将会继续执行下去。此外，其他需要停止执行的场合，也可以使用这个命令</p>
<div class="example">
<a name="ex3-10"></a><p class="title"><b>例 3.10. link、jump命令的例子</b></p>
<div class="example-contents"><pre class="programlisting">
*start
[link target=*sel01]选项1[endlink][r]
[link target=*sel02]选项2[endlink][r]
[s]

*sel01
这里是选项1。[l][r]

*sel02
这里是选项2。[l][r]
下面将跳转到选项1[l][r]
@jump target=*sel01
				</pre></div>
</div>
<br class="example-break"><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Tip">
<tr>
<td rowspan="2" align="center" valign="top" width="25"><img alt="[提示]" src="images/tip.png"></td>
<th align="left">提示</th>
</tr>
<tr><td align="left" valign="top"><p>为了保证游戏剧本的结构有序，易于维护、编写和调试，请在合理的范围内拆分ks文件。例如说，每一个章节的剧本分一个ks文件，每一个菜单也是一个ks文件，这样。</p></td></tr>
</table></div>
</div>
<div class="navfooter">
<hr>
<table width="100%" summary="Navigation footer">
<tr>
<td width="40%" align="left">
<a accesskey="p" href="ch03-4.html">上一页</a> </td>
<td width="20%" align="center"><a accesskey="u" href="ch03.html">上一级</a></td>
<td width="40%" align="right"> <a accesskey="n" href="ch03-6.html">下一页</a>
</td>
</tr>
<tr>
<td width="40%" align="left" valign="top">3.4. 播放音效、音乐 </td>
<td width="20%" align="center"><a accesskey="h" href="index.html">起始页</a></td>
<td width="40%" align="right" valign="top"> 3.6. 调试与发布</td>
</tr>
</table>
</div>
</body>
</html>
